"""
@Author : 合肥一元数智教育科技有限公司
@Date :  2025/3/5 13:48
@Description :   python的文件操作

前面编写的代码所处理的数据 全部是保存在计算机内存中 程序一旦重新运行，内存中的数据全部丢失
数据如何持久化 ?
  1. 写入文本  数据量小   crud  效率低
            如何通过python语言实现文件的操作   目录  文本
            python中有一个os模块   可以实现python和磁盘文件的交互
  2. 数据库存储  数据量大   效率低高     专业的数据管理软件  提供了数据的很多操作 推荐
     SQL语句  crud
"""
import os
import time

# 获取当前的工作目录
print(f'当前的工作目录是:{os.getcwd()}')

# 判定目录是否存在
dir1_exist = os.path.exists('dir1')
# 创建目录  目录存在抛出异常  FileExistsError
if dir1_exist:
    # print('创建的目录已存在,删除目录')
    # os.removedirs('dir1')  # 删除空目录
    pass
else:
    # print('新的目录创建完成')
    # os.mkdir('dir1')
    pass

# 在指定的目录下 创建子目录  父目录要存在   否则报错FileNotFoundError
# os.mkdir('dir1')
# 可以递归创建, 父目录不存在时可以自动创建
# os.makedirs('dir1/dir2')

# 重命名dir1
# os.rename('dir1', 'dir01')

# 获取文件信息
file_stat = os.stat('dir01/test.txt')
# 获取文件大小
print('文件大小:', file_stat.st_size)
#  创建时间
ctime = file_stat.st_ctime
ctime = time.ctime(ctime)
print(ctime)
# 最后一次访问时间
atime = file_stat.st_atime
atime = time.localtime(atime)
atime = time.strftime('%Y-%m-%d %H:%M:%S', atime)
print(atime)

# 修改时间
mtime = file_stat.st_mtime
mtime = time.localtime(mtime)
mtime = time.strftime('%Y-%m-%d %H:%M:%S', mtime)
print(mtime)

cwd = os.getcwd()
print(cwd)
# 获取当前系统中上级目录的表示形式   ..   ./   ../  屏蔽平台的差异
print(os.pardir)
#  路径拼接
cwd_join = os.path.join(cwd, os.pardir, os.pardir)
print(cwd_join)
normpath = os.path.normpath(cwd_join)
print(normpath)

# 判定文件的类型   目录
print(os.path.isdir('dir01'))
print(os.path.isfile('dir01'))
print(os.path.isfile('dir01/test.txt'))


